window.pageTools = window.pageTools || {};

(function () {
    function Login(isLogin, superViewSelector, eventListener) {
        this.isLogin = isLogin;
        this.superView = $(superViewSelector);
        this.init();
        this.eventListener = eventListener;
    }

    Login.prototype.init = function () {
        var isShow = this.isLogin ? 'none' : 'block'; //登录或注册对话框确认按钮要不要显示
        var buttonText = this.isLogin ? '登录' : '注册'; //设置提交按钮上的文字内容

        // 创建对话框DOM
        this.dialog = $('<div class="dialog">' +
            '<button class="close-btn">&times;</button>' +
            '<div class="input-box">' +
            '<input type="text" placeholder="用户名">' +
            '<input type="password" placeholder="密码">' +
            '<input type="password" placeholder="确认密码" class="again-pwd">' +
            '<button class="btn">' + buttonText + '</button>' +
            '</div>' +
            '</div>');

        // 添加DOM到文档中
        this.superView.append(this.dialog);

        // 如果是登录则不显示确认密码框，如果是注册则显示
        $('.again-pwd').css('display', isShow);

        // 点击事件处理
        this.dialog.find(".btn").click(function () {
            this.dialog.remove(); // 清除对话框内容
            this.dialog = null; // 清除对话框对象

            // 执行事件监听器
            if (typeof this.eventListener === 'function') {
                this.eventListener();
            }
        }.bind(this));

        // 点击“关闭”按钮时，清除对话框DOM
        this.dialog.find(".close-btn").click(function () {
            this.dialog.remove(); // 清除对话框内容
            this.dialog = null; // 清除对话框对象

            // 执行事件监听器
            if (typeof this.eventListener === 'function') {
                this.eventListener();
            }
        }.bind(this));
    };

    pageTools.Login = Login;
})();
